const tinify = require('tinify')
const path = require('path')

tinify.key = 'rCKbB9Bz7Xvl50Dc80K91qrWwzY7G6sF'

const bufToFile = (buf, filename) => {
    return new File([buf], filename)
}

tinify.validate((err) => {
    if (err) {
        console.log(err)
        return
    }

    let compressionsThisMonth = tinify.compressionCount;
    console.log(compressionsThisMonth, 'compressionsThisMonth')

    // 本地文件压缩 file
    tinify.fromFile(path.resolve(__dirname, 'demo.png')).toBuffer((err, result) => {
        if (err) {
            console.log(err)
            return
        }
        console.log(result, 'result')
        console.log(bufToFile(result, 'demo.mini.png'))
    })

    // 转换本地
    // const source = tinify.fromFile(path.resolve(__dirname, 'demo.png'));
    // source.toFile(path.resolve(__dirname, 'demo.mini.png'), err => {
    //     console.log(err)
    // })

    // tinify.fromBuffer(sourceData).toBuffer((err, resultData) => {
    //     if (err) {
    //       console.log(err)
    //       cb(sourceData, filename) // 如果压缩失败，则直接返回原文件，防止丢失数据。
    //     } else {
    //       console.log(tinify.compressionCount)
    //       cb(resultData, filename)
    //     }
    // })

    // api tiny图片压缩
    // fileToBuffer(file, (buf, filename) => {
    //     return Promise.resolve(bufToFile(buf, filename))
    // })

})



